home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / UTILITY / TASEXAM6.ARJ / SUMMARY.TAS < prev    next >
Text File  |  1992-04-30  |  24KB  |  541 lines

  1. {
  2. SUMMARY.TAS
  3. Script written to show advance/decline/unchanged figures of your ticker
  4. list, as well as corresponding volume level and average advance and
  5. decline percent. Also shows where the masses of stocks are migrating
  6. relative to their 52 week highs- a good market quality indicator. Market
  7. conditions which are improving will be confirmed by the masses of leading
  8. stocks migrating to the high side of their range. Similarly, a market
  9. which is deteriorating will show the leading stocks begin to move away
  10. from their highs.
  11. The latest days ticker list activity is displayed at the top of the
  12. summary- advances, declines and unchanged stocks. The 50 day average volume
  13. is computed for each stock, and what percent of average each traded today.
  14. The percentages each stock traded is added up, and then at the end the
  15. big figure is divided by the total number of tickers counted to get the
  16. "cumulative volume" percent shown at the top of the summary. The
  17. percentage traded today of all stocks advancing are added up separately,
  18. and divided by the total number of advancers to get the average
  19. volume percentage for all advancing stocks. The same is done for the
  20. decliners and the unchanged. For the advancing and declining stocks, the
  21. percentage lost or gained is computed and added to a tally. At the end
  22. the two tallys are divided by their respective number of advances or
  23. declines, to get the "average advance" and "average decline." The sum of
  24. all declining stocks tally is then subtracted from the sum af all
  25. advancing stocks tally, and the result is divided by the total number of
  26. tickers (yes including the unchanged ones). The result is the "average
  27. gain/loss" of the average stock on your ticker list that day. Combine
  28. that with the cumulative volume figure and you have a pretty good idea
  29. of how the "average" stock on your list behaved that day. Not a bad
  30. market indicator.
  31. If you wanted to create ticker lists composed of stocks in a particular
  32. industry or market sector, this script could be useful in tracking the
  33. wellbeing of that sector.
  34. In the off high percentages table, the "NH" row is also reflected in the
  35. "0-5" row. So if 3% of your stocks are making new highs, and 10% are
  36. 5-10% off their high, stocks making up the new high percentage will also
  37. be counted in the 0-5% off high percentage figure.
  38. Stocks with less than 51 days of data are passed. Also stocks which
  39. closed today at least 20% lower than yesterday are passed; the assumption
  40. being that these stocks probably split and have not yet been adjusted
  41. in your charting software. These stocks would significantly affect the
  42. average advance/decline figure in the summary if they were included.
  43. The summary report is saved in a file named "summary.lst".
  44. *
  45. SUMMARY.TAS written 4/6/92 by Tom Rategan. Prodigy PMGV10A.
  46. *
  47. Modified 4/17/92 to include columns indicating the number of tickers
  48. lost or gained for each percent figure in the table. Also tells the
  49. cumulative average volume for the past 5 days. This is computed by taking
  50. the average volume each ticker traded for the past 5 days and comparing
  51. the 5 day average to the 50 day average. Each 5 vs 50 percentage is added
  52. to a tally and at the end the tally is divided by the total number of
  53. tickers. The average 5 day gain/loss is also computed, taking the
  54. percentage change of each stock today from 5 days ago, tallying those
  55. which advanced and those which declined. At the end the decline tally
  56. is subtracted from the advancing tally and the result is divided by the
  57. total number of tickers. The five day average volume combined with the
  58. 5 day gain/loss indicates what the average ticker on your list has done
  59. in the past 5 days- a good general market indicator.
  60. *
  61. 4/20/92- Added 5 day a/d/u with coresponding volume and average percent
  62. adv and dec. Intended to give a slightly broader snapshot of market
  63. direction.
  64. If a stock closed higher today than it did 5 days ago, it is counted as
  65. an advance. Declines and unchanged stocks are similarly computed. Trading
  66. volume for the past 5 days is averaged and compared to the 50 day
  67. average for each stock. The 5 vs 50 percentage figure is added to a tally
  68. depending on whether the stock advanced, declined or was unchanged. The
  69. average five day volume is computed at the end for each of the a,d,& u
  70. groups. Average percent adv and dec is the average change advancing
  71. stocks are today compared to 5 days ago, and average decline is computed
  72. similarly.
  73. }
  74. #OUTPUT_FILE 'SUMMARY.LST+'  {Delete '+' to save only the latest summary}
  75. #MAX_QUOTES 255
  76. {********** Set all of the "tally" variables to zero. *****************}
  77. IF FIRST_TICKER THEN BEGIN
  78. TICKS = 0;
  79. ADV = 0;
  80. DEC = 0;
  81. UCH = 0;
  82. V_TALLY = 0;
  83. AV_TALLY = 0;
  84. DV_TALLY = 0;
  85. UV_TALLY = 0;
  86. APERC_TALLY = 0;
  87. DPERC_TALLY = 0;
  88. ADV5 = 0;
  89. DEC5 = 0;
  90. UCH5 = 0;
  91. V5_TALLY = 0;
  92. AV5_TALLY = 0;
  93. DV5_TALLY = 0;
  94. UV5_TALLY = 0;
  95. ADV5_TALLY = 0;
  96. DEC5_TALLY = 0;
  97. NH0_TALLY = 0;
  98. NH1_TALLY = 0;
  99. NH2_TALLY = 0;
  100. NH3_TALLY = 0;
  101. NH4_TALLY = 0;
  102. NH10_TALLY = 0;
  103. OH0_05_TALLY = 0;
  104. OH1_05_TALLY = 0;
  105. OH2_05_TALLY = 0;
  106. OH3_05_TALLY = 0;
  107. OH4_05_TALLY = 0;
  108. OH10_05_TALLY = 0;
  109. OH0_510_TALLY = 0;
  110. OH1_510_TALLY = 0;
  111. OH2_510_TALLY = 0;
  112. OH3_510_TALLY = 0;
  113. OH4_510_TALLY = 0;
  114. OH10_510_TALLY = 0;
  115. OH0_1015_TALLY = 0;
  116. OH1_1015_TALLY = 0;
  117. OH2_1015_TALLY = 0;
  118. OH3_1015_TALLY = 0;
  119. OH4_1015_TALLY = 0;
  120. OH10_1015_TALLY = 0;
  121. OH0_1520_TALLY = 0;
  122. OH1_1520_TALLY = 0;
  123. OH2_1520_TALLY = 0;
  124. OH3_1520_TALLY = 0;
  125. OH4_1520_TALLY = 0;
  126. OH10_1520_TALLY = 0;
  127. OH0_2025_TALLY = 0;
  128. OH1_2025_TALLY = 0;
  129. OH2_2025_TALLY = 0;
  130. OH3_2025_TALLY = 0;
  131. OH4_2025_TALLY = 0;
  132. OH10_2025_TALLY = 0;
  133. OH0_2530_TALLY = 0;
  134. OH1_2530_TALLY = 0;
  135. OH2_2530_TALLY = 0;
  136. OH3_2530_TALLY = 0;
  137. OH4_2530_TALLY = 0;
  138. OH10_2530_TALLY = 0;
  139. OH0_3035_TALLY = 0;
  140. OH1_3035_TALLY = 0;
  141. OH2_3035_TALLY = 0;
  142. OH3_3035_TALLY = 0;
  143. OH4_3035_TALLY = 0;
  144. OH10_3035_TALLY = 0;
  145. OH0_3540_TALLY = 0;
  146. OH1_3540_TALLY = 0;
  147. OH2_3540_TALLY = 0;
  148. OH3_3540_TALLY = 0;
  149. OH4_3540_TALLY = 0;
  150. OH10_3540_TALLY = 0;
  151. OH0_4045_TALLY = 0;
  152. OH1_4045_TALLY = 0;
  153. OH2_4045_TALLY = 0;
  154. OH3_4045_TALLY = 0;
  155. OH4_4045_TALLY = 0;
  156. OH10_4045_TALLY = 0;
  157. OH0_4550_TALLY = 0;
  158. OH1_4550_TALLY = 0;
  159. OH2_4550_TALLY = 0;
  160. OH3_4550_TALLY = 0;
  161. OH4_4550_TALLY = 0;
  162. OH10_4550_TALLY = 0;
  163. OH0_50_TALLY = 0;
  164. OH1_50_TALLY = 0;
  165. OH2_50_TALLY = 0;
  166. OH3_50_TALLY = 0;
  167. OH4_50_TALLY = 0;
  168. OH10_50_TALLY = 0;
  169. END;
  170. {*** Skip those tickers without enough data or with big price changes. ***}
  171. IF QUOTE_COUNT < 51 THEN GOTO CHECK_LAST;
  172. IF C[0] < (C[-1]*.8) THEN GOTO CHECK_LAST;
  173. {********* Check all stocks for volume percentage, a/d/u, and ***********}
  174. {********* off high figures 0, 1, 2, 3, 4, and 10 days ago. *************}
  175. {********* Add all figures to their respective tallys. ******************}
  176. TICKS = TICKS + 1;
  177. IF C[0] > C[-1] THEN ADV = ADV + 1;
  178. IF C[0] < C[-1] THEN DEC = DEC + 1;
  179. IF C[0] = C[-1] THEN UCH = UCH + 1;
  180. IF C[0] > C[-4] THEN ADV5 = ADV5 + 1;
  181. IF C[0] < C[-4] THEN DEC5 = DEC5 + 1;
  182. IF C[0] = C[-4] THEN UCH5 = UCH5 + 1;
  183. V50 = SUM(V,50)/50;
  184. V_PERC = ((V[0]/V50)*100);
  185. V_TALLY = V_TALLY + V_PERC;
  186. V5 = SUM(V,5)/5;
  187. V5_PERC = ((V5/V50)*100);
  188. V5_TALLY = V5_TALLY + V5_PERC;
  189. IF C[0] > C[-1] THEN AV_TALLY = AV_TALLY + V_PERC;
  190. IF C[0] < C[-1] THEN DV_TALLY = DV_TALLY + V_PERC;
  191. IF C[0] = C[-1] THEN UV_TALLY = UV_TALLY + V_PERC;
  192. IF C[0] > C[-1] THEN PERC_CHG = ((C[0]-C[-1])/C[-1])*100;
  193. IF C[0] > C[-1] THEN APERC_TALLY = APERC_TALLY + PERC_CHG;
  194. IF C[0] < C[-1] THEN PERC_CHG = ((C[-1]-C[0])/C[-1])*100;
  195. IF C[0] < C[-1] THEN DPERC_TALLY = DPERC_TALLY + PERC_CHG;
  196. IF C[0] > C[-4] THEN PERC5_CHG = ((C[0]-C[-4])/C[-4])*100;
  197. IF C[0] < C[-4] THEN PERC5_CHG = ((C[-4]-C[0])/C[-4])*100;
  198. IF C[0] > C[-4] THEN ADV5_TALLY = ADV5_TALLY + PERC5_CHG;
  199. IF C[0] < C[-4] THEN DEC5_TALLY = DEC5_TALLY + PERC5_CHG;
  200. IF C[0] > C[-4] THEN AV5_TALLY = AV5_TALLY + V5_PERC;
  201. IF C[0] < C[-4] THEN DV5_TALLY = DV5_TALLY + V5_PERC;
  202. IF C[0] = C[-4] THEN UV5_TALLY = UV5_TALLY + V5_PERC;
  203. HI : ARRAY;
  204. HI = HHV(C,(QUOTE_COUNT-11));
  205. OH0 = (1-(C[0]/HI[0]))*100;
  206. OH1 = (1-(C[-1]/HI[-1]))*100;
  207. OH2 = (1-(C[-2]/HI[-2]))*100;
  208. OH3 = (1-(C[-3]/HI[-3]))*100;
  209. OH4 = (1-(C[-4]/HI[-4]))*100;
  210. OH10 = (1-(C[-10]/HI[-10]))*100;
  211. IF OH0 = 0 THEN NH0_TALLY = NH0_TALLY + 1;
  212. IF OH0 >=0 AND OH0 <=5 THEN OH0_05_TALLY = OH0_05_TALLY + 1;
  213. IF OH0 > 5 AND OH0 <=10 THEN OH0_510_TALLY = OH0_510_TALLY + 1;
  214. IF OH0 > 10 AND OH0 <=15 THEN OH0_1015_TALLY = OH0_1015_TALLY + 1;
  215. IF OH0 > 15 AND OH0 <=20 THEN OH0_1520_TALLY = OH0_1520_TALLY + 1;
  216. IF OH0 > 20 AND OH0 <=25 THEN OH0_2025_TALLY = OH0_2025_TALLY + 1;
  217. IF OH0 > 25 AND OH0 <=30 THEN OH0_2530_TALLY = OH0_2530_TALLY + 1;
  218. IF OH0 > 30 AND OH0 <=35 THEN OH0_3035_TALLY = OH0_3035_TALLY + 1;
  219. IF OH0 > 35 AND OH0 <=40 THEN OH0_3540_TALLY = OH0_3540_TALLY + 1;
  220. IF OH0 > 40 AND OH0 <=45 THEN OH0_4045_TALLY = OH0_4045_TALLY + 1;
  221. IF OH0 > 45 AND OH0 <=50 THEN OH0_4550_TALLY = OH0_4550_TALLY + 1;
  222. IF OH0 > 50 THEN OH0_50_TALLY = OH0_50_TALLY + 1;
  223. IF OH1 = 0 THEN NH1_TALLY = NH1_TALLY + 1;
  224. IF OH1 >=0 AND OH1 <=5 THEN OH1_05_TALLY = OH1_05_TALLY + 1;
  225. IF OH1 > 5 AND OH1 <=10 THEN OH1_510_TALLY = OH1_510_TALLY + 1;
  226. IF OH1 > 10 AND OH1 <=15 THEN OH1_1015_TALLY = OH1_1015_TALLY + 1;
  227. IF OH1 > 15 AND OH1 <=20 THEN OH1_1520_TALLY = OH1_1520_TALLY + 1;
  228. IF OH1 > 20 AND OH1 <=25 THEN OH1_2025_TALLY = OH1_2025_TALLY + 1;
  229. IF OH1 > 25 AND OH1 <=30 THEN OH1_2530_TALLY = OH1_2530_TALLY + 1;
  230. IF OH1 > 30 AND OH1 <=35 THEN OH1_3035_TALLY = OH1_3035_TALLY + 1;
  231. IF OH1 > 35 AND OH1 <=40 THEN OH1_3540_TALLY = OH1_3540_TALLY + 1;
  232. IF OH1 > 40 AND OH1 <=45 THEN OH1_4045_TALLY = OH1_4045_TALLY + 1;
  233. IF OH1 > 45 AND OH1 <=50 THEN OH1_4550_TALLY = OH1_4550_TALLY + 1;
  234. IF OH1 > 50 THEN OH1_50_TALLY = OH1_50_TALLY + 1;
  235. IF OH2 = 0 THEN NH2_TALLY = NH2_TALLY + 1;
  236. IF OH2 >= 0 AND OH2 <=5 THEN OH2_05_TALLY = OH2_05_TALLY + 1;
  237. IF OH2 > 5 AND OH2 <=10 THEN OH2_510_TALLY = OH2_510_TALLY + 1;
  238. IF OH2 > 10 AND OH2 <=15 THEN OH2_1015_TALLY = OH2_1015_TALLY + 1;
  239. IF OH2 > 15 AND OH2 <=20 THEN OH2_1520_TALLY = OH2_1520_TALLY + 1;
  240. IF OH2 > 20 AND OH2 <=25 THEN OH2_2025_TALLY = OH2_2025_TALLY + 1;
  241. IF OH2 > 25 AND OH2 <=30 THEN OH2_2530_TALLY = OH2_2530_TALLY + 1;
  242. IF OH2 > 30 AND OH2 <=35 THEN OH2_3035_TALLY = OH2_3035_TALLY + 1;
  243. IF OH2 > 35 AND OH2 <=40 THEN OH2_3540_TALLY = OH2_3540_TALLY + 1;
  244. IF OH2 > 40 AND OH2 <=45 THEN OH2_4045_TALLY = OH2_4045_TALLY + 1;
  245. IF OH2 > 45 AND OH2 <=50 THEN OH2_4550_TALLY = OH2_4550_TALLY + 1;
  246. IF OH2 > 50 THEN OH2_50_TALLY = OH2_50_TALLY + 1;
  247. IF OH3 = 0 THEN NH3_TALLY = NH3_TALLY + 1;
  248. IF OH3 >= 0 AND OH3 <=5 THEN OH3_05_TALLY = OH3_05_TALLY + 1;
  249. IF OH3 > 5 AND OH3 <=10 THEN OH3_510_TALLY = OH3_510_TALLY + 1;
  250. IF OH3 > 10 AND OH3 <=15 THEN OH3_1015_TALLY = OH3_1015_TALLY + 1;
  251. IF OH3 > 15 AND OH3 <=20 THEN OH3_1520_TALLY = OH3_1520_TALLY + 1;
  252. IF OH3 > 20 AND OH3 <=25 THEN OH3_2025_TALLY = OH3_2025_TALLY + 1;
  253. IF OH3 > 25 AND OH3 <=30 THEN OH3_2530_TALLY = OH3_2530_TALLY + 1;
  254. IF OH3 > 30 AND OH3 <=35 THEN OH3_3035_TALLY = OH3_3035_TALLY + 1;
  255. IF OH3 > 35 AND OH3 <=40 THEN OH3_3540_TALLY = OH3_3540_TALLY + 1;
  256. IF OH3 > 40 AND OH3 <=45 THEN OH3_4045_TALLY = OH3_4045_TALLY + 1;
  257. IF OH3 > 45 AND OH3 <=50 THEN OH3_4550_TALLY = OH3_4550_TALLY + 1;
  258. IF OH3 > 50 THEN OH3_50_TALLY = OH3_50_TALLY + 1;
  259. IF OH4 = 0 THEN NH4_TALLY = NH4_TALLY + 1;
  260. IF OH4 >= 0 AND OH4 <=5 THEN OH4_05_TALLY = OH4_05_TALLY + 1;
  261. IF OH4 > 5 AND OH4 <=10 THEN OH4_510_TALLY = OH4_510_TALLY + 1;
  262. IF OH4 > 10 AND OH4 <=15 THEN OH4_1015_TALLY = OH4_1015_TALLY + 1;
  263. IF OH4 > 15 AND OH4 <=20 THEN OH4_1520_TALLY = OH4_1520_TALLY + 1;
  264. IF OH4 > 20 AND OH4 <=25 THEN OH4_2025_TALLY = OH4_2025_TALLY + 1;
  265. IF OH4 > 25 AND OH4 <=30 THEN OH4_2530_TALLY = OH4_2530_TALLY + 1;
  266. IF OH4 > 30 AND OH4 <=35 THEN OH4_3035_TALLY = OH4_3035_TALLY + 1;
  267. IF OH4 > 35 AND OH4 <=40 THEN OH4_3540_TALLY = OH4_3540_TALLY + 1;
  268. IF OH4 > 40 AND OH4 <=45 THEN OH4_4045_TALLY = OH4_4045_TALLY + 1;
  269. IF OH4 > 45 AND OH4 <=50 THEN OH4_4550_TALLY = OH4_4550_TALLY + 1;
  270. IF OH4 > 50 THEN OH4_50_TALLY = OH4_50_TALLY + 1;
  271. IF OH10 = 0 THEN NH10_TALLY = NH10_TALLY + 1;
  272. IF OH10 >= 0 AND OH10 <=5 THEN OH10_05_TALLY = OH10_05_TALLY + 1;
  273. IF OH10 > 5 AND OH10 <=10 THEN OH10_510_TALLY = OH10_510_TALLY + 1;
  274. IF OH10 > 10 AND OH10 <=15 THEN OH10_1015_TALLY = OH10_1015_TALLY + 1;
  275. IF OH10 > 15 AND OH10 <=20 THEN OH10_1520_TALLY = OH10_1520_TALLY + 1;
  276. IF OH10 > 20 AND OH10 <=25 THEN OH10_2025_TALLY = OH10_2025_TALLY + 1;
  277. IF OH10 > 25 AND OH10 <=30 THEN OH10_2530_TALLY = OH10_2530_TALLY + 1;
  278. IF OH10 > 30 AND OH10 <=35 THEN OH10_3035_TALLY = OH10_3035_TALLY + 1;
  279. IF OH10 > 35 AND OH10 <=40 THEN OH10_3540_TALLY = OH10_3540_TALLY + 1;
  280. IF OH10 > 40 AND OH10 <=45 THEN OH10_4045_TALLY = OH10_4045_TALLY + 1;
  281. IF OH10 > 45 AND OH10 <=50 THEN OH10_4550_TALLY = OH10_4550_TALLY + 1;
  282. IF OH10 > 50 THEN OH10_50_TALLY = OH10_50_TALLY + 1;
  283. :CHECK_LAST
  284. IF LAST_TICKER THEN GOTO SUMMARY ELSE RETURN;
  285. {********** Now all stocks have been computed and tallied, ***********}
  286. {********** compute the tally results for the summary report. *********}
  287. :SUMMARY
  288. A_PERC = (ADV/TICKS)*100;
  289. D_PERC = (DEC/TICKS)*100;
  290. U_PERC = (UCH/TICKS)*100;
  291. V_TOTL = V_TALLY/TICKS;
  292. AV_TOTL = AV_TALLY/ADV;
  293. DV_TOTL = DV_TALLY/DEC;
  294. UV_TOTL = UV_TALLY/UCH;
  295. V5_TOTL = V5_TALLY/TICKS;
  296. AVG_ADV_PERC = APERC_TALLY/ADV;
  297. AVG_DEC_PERC = DPERC_TALLY/DEC;
  298. CUML_G_L = (APERC_TALLY-DPERC_TALLY)/TICKS;
  299. A5_PERC = (ADV5/TICKS)*100;
  300. D5_PERC = (DEC5/TICKS)*100;
  301. U5_PERC = (UCH5/TICKS)*100;
  302. CUML5_G_L = (ADV5_TALLY-DEC5_TALLY)/TICKS;
  303. AVG5_ADV_PERC = ADV5_TALLY/ADV5;
  304. AVG5_DEC_PERC = DEC5_TALLY/DEC5;
  305. AV5_TOTL = AV5_TALLY/ADV5;
  306. DV5_TOTL = DV5_TALLY/DEC5;
  307. UV5_TOTL = UV5_TALLY/UCH5;
  308. P0NH = (NH0_TALLY/TICKS)*100;
  309. P1NH = (NH1_TALLY/TICKS)*100;
  310. P2NH = (NH2_TALLY/TICKS)*100;
  311. P3NH = (NH3_TALLY/TICKS)*100;
  312. P4NH = (NH4_TALLY/TICKS)*100;
  313. P10NH = (NH10_TALLY/TICKS)*100;
  314. P005 = (OH0_05_TALLY/TICKS)*100;
  315. P105 = (OH1_05_TALLY/TICKS)*100;
  316. P205 = (OH2_05_TALLY/TICKS)*100;
  317. P305 = (OH3_05_TALLY/TICKS)*100;
  318. P405 = (OH4_05_TALLY/TICKS)*100;
  319. P1005 = (OH10_05_TALLY/TICKS)*100;
  320. P0510 = (OH0_510_TALLY/TICKS)*100;
  321. P1510 = (OH1_510_TALLY/TICKS)*100;
  322. P2510 = (OH2_510_TALLY/TICKS)*100;
  323. P3510 = (OH3_510_TALLY/TICKS)*100;
  324. P4510 = (OH4_510_TALLY/TICKS)*100;
  325. P10510 = (OH10_510_TALLY/TICKS)*100;
  326. P01015 = (OH0_1015_TALLY/TICKS)*100;
  327. P11015 = (OH1_1015_TALLY/TICKS)*100;
  328. P21015 = (OH2_1015_TALLY/TICKS)*100;
  329. P31015 = (OH3_1015_TALLY/TICKS)*100;
  330. P41015 = (OH4_1015_TALLY/TICKS)*100;
  331. P101015 = (OH10_1015_TALLY/TICKS)*100;
  332. P01520 = (OH0_1520_TALLY/TICKS)*100;
  333. P11520 = (OH1_1520_TALLY/TICKS)*100;
  334. P21520 = (OH2_1520_TALLY/TICKS)*100;
  335. P31520 = (OH3_1520_TALLY/TICKS)*100;
  336. P41520 = (OH4_1520_TALLY/TICKS)*100;
  337. P101520 = (OH10_1520_TALLY/TICKS)*100;
  338. P02025 = (OH0_2025_TALLY/TICKS)*100;
  339. P12025 = (OH1_2025_TALLY/TICKS)*100;
  340. P22025 = (OH2_2025_TALLY/TICKS)*100;
  341. P32025 = (OH3_2025_TALLY/TICKS)*100;
  342. P42025 = (OH4_2025_TALLY/TICKS)*100;
  343. P102025 = (OH10_2025_TALLY/TICKS)*100;
  344. P02530 = (OH0_2530_TALLY/TICKS)*100;
  345. P12530 = (OH1_2530_TALLY/TICKS)*100;
  346. P22530 = (OH2_2530_TALLY/TICKS)*100;
  347. P32530 = (OH3_2530_TALLY/TICKS)*100;
  348. P42530 = (OH4_2530_TALLY/TICKS)*100;
  349. P102530 = (OH10_2530_TALLY/TICKS)*100;
  350. P03035 = (OH0_3035_TALLY/TICKS)*100;
  351. P13035 = (OH1_3035_TALLY/TICKS)*100;
  352. P23035 = (OH2_3035_TALLY/TICKS)*100;
  353. P33035 = (OH3_3035_TALLY/TICKS)*100;
  354. P43035 = (OH4_3035_TALLY/TICKS)*100;
  355. P103035 = (OH10_3035_TALLY/TICKS)*100;
  356. P03540 = (OH0_3540_TALLY/TICKS)*100;
  357. P13540 = (OH1_3540_TALLY/TICKS)*100;
  358. P23540 = (OH2_3540_TALLY/TICKS)*100;
  359. P33540 = (OH3_3540_TALLY/TICKS)*100;
  360. P43540 = (OH4_3540_TALLY/TICKS)*100;
  361. P103540 = (OH10_3540_TALLY/TICKS)*100;
  362. P04045 = (OH0_4045_TALLY/TICKS)*100;
  363. P14045 = (OH1_4045_TALLY/TICKS)*100;
  364. P24045 = (OH2_4045_TALLY/TICKS)*100;
  365. P34045 = (OH3_4045_TALLY/TICKS)*100;
  366. P44045 = (OH4_4045_TALLY/TICKS)*100;
  367. P104045 = (OH10_4045_TALLY/TICKS)*100;
  368. P04550 = (OH0_4550_TALLY/TICKS)*100;
  369. P14550 = (OH1_4550_TALLY/TICKS)*100;
  370. P24550 = (OH2_4550_TALLY/TICKS)*100;
  371. P34550 = (OH3_4550_TALLY/TICKS)*100;
  372. P44550 = (OH4_4550_TALLY/TICKS)*100;
  373. P104550 = (OH10_4550_TALLY/TICKS)*100;
  374. P050 = (OH0_50_TALLY/TICKS)*100;
  375. P150 = (OH1_50_TALLY/TICKS)*100;
  376. P250 = (OH2_50_TALLY/TICKS)*100;
  377. P350 = (OH3_50_TALLY/TICKS)*100;
  378. P450 = (OH4_50_TALLY/TICKS)*100;
  379. P1050 = (OH10_50_TALLY/TICKS)*100;
  380. NNH01 = NH0_TALLY - NH1_TALLY;
  381. NNH12 = NH1_TALLY - NH2_TALLY;
  382. NNH23 = NH2_TALLY - NH3_TALLY;
  383. NNH34 = NH3_TALLY - NH4_TALLY;
  384. NNH410 = NH4_TALLY - NH10_TALLY;
  385. N05_01 = OH0_05_TALLY - OH1_05_TALLY;
  386. N05_12 = OH1_05_TALLY - OH2_05_TALLY;
  387. N05_23 = OH2_05_TALLY - OH3_05_TALLY;
  388. N05_34 = OH3_05_TALLY - OH4_05_TALLY;
  389. N05_410 = OH4_05_TALLY - OH10_05_TALLY;
  390. N510_01 = OH0_510_TALLY - OH1_510_TALLY;
  391. N510_12 = OH1_510_TALLY - OH2_510_TALLY;
  392. N510_23 = OH2_510_TALLY - OH3_510_TALLY;
  393. N510_34 = OH3_510_TALLY - OH4_510_TALLY;
  394. N510_410 = OH4_510_TALLY - OH10_510_TALLY;
  395. N1015_01 = OH0_1015_TALLY - OH1_1015_TALLY;
  396. N1015_12 = OH1_1015_TALLY - OH2_1015_TALLY;
  397. N1015_23 = OH2_1015_TALLY - OH3_1015_TALLY;
  398. N1015_34 = OH3_1015_TALLY - OH4_1015_TALLY;
  399. N1015_410 = OH4_1015_TALLY - OH10_1015_TALLY;
  400. N1520_01 = OH0_1520_TALLY - OH1_1520_TALLY;
  401. N1520_12 = OH1_1520_TALLY - OH2_1520_TALLY;
  402. N1520_23 = OH2_1520_TALLY - OH3_1520_TALLY;
  403. N1520_34 = OH3_1520_TALLY - OH4_1520_TALLY;
  404. N1520_410 = OH4_1520_TALLY - OH10_1520_TALLY;
  405. N2025_01 = OH0_2025_TALLY - OH1_2025_TALLY;
  406. N2025_12 = OH1_2025_TALLY - OH2_2025_TALLY;
  407. N2025_23 = OH2_2025_TALLY - OH3_2025_TALLY;
  408. N2025_34 = OH3_2025_TALLY - OH4_2025_TALLY;
  409. N2025_410 = OH4_2025_TALLY - OH10_2025_TALLY;
  410. N2530_01 = OH0_2530_TALLY - OH1_2530_TALLY;
  411. N2530_12 = OH1_2530_TALLY - OH2_2530_TALLY;
  412. N2530_23 = OH2_2530_TALLY - OH3_2530_TALLY;
  413. N2530_34 = OH3_2530_TALLY - OH4_2530_TALLY;
  414. N2530_410 = OH4_2530_TALLY - OH10_2530_TALLY;
  415. N3035_01 = OH0_3035_TALLY - OH1_3035_TALLY;
  416. N3035_12 = OH1_3035_TALLY - OH2_3035_TALLY;
  417. N3035_23 = OH2_3035_TALLY - OH3_3035_TALLY;
  418. N3035_34 = OH3_3035_TALLY - OH4_3035_TALLY;
  419. N3035_410 = OH4_3035_TALLY - OH10_3035_TALLY;
  420. N3540_01 = OH0_3540_TALLY - OH1_3540_TALLY;
  421. N3540_12 = OH1_3540_TALLY - OH2_3540_TALLY;
  422. N3540_23 = OH2_3540_TALLY - OH3_3540_TALLY;
  423. N3540_34 = OH3_3540_TALLY - OH4_3540_TALLY;
  424. N3540_410 = OH4_3540_TALLY - OH10_3540_TALLY;
  425. N4045_01 = OH0_4045_TALLY - OH1_4045_TALLY;
  426. N4045_12 = OH1_4045_TALLY - OH2_4045_TALLY;
  427. N4045_23 = OH2_4045_TALLY - OH3_4045_TALLY;
  428. N4045_34 = OH3_4045_TALLY - OH4_4045_TALLY;
  429. N4045_410 = OH4_4045_TALLY - OH10_4045_TALLY;
  430. N4550_01 = OH0_4550_TALLY - OH1_4550_TALLY;
  431. N4550_12 = OH1_4550_TALLY - OH2_4550_TALLY;
  432. N4550_23 = OH2_4550_TALLY - OH3_4550_TALLY;
  433. N4550_34 = OH3_4550_TALLY - OH4_4550_TALLY;
  434. N4550_410 = OH4_4550_TALLY - OH10_4550_TALLY;
  435. N50_01 = OH0_50_TALLY - OH1_50_TALLY;
  436. N50_12 = OH1_50_TALLY - OH2_50_TALLY;
  437. N50_23 = OH2_50_TALLY - OH3_50_TALLY;
  438. N50_34 = OH3_50_TALLY - OH4_50_TALLY;
  439. N50_410 = OH4_50_TALLY - OH10_50_TALLY;
  440. {*************** Write the summary report to the screen *****************}
  441. WRITELN(FORMAT(TICKS,'%3.f'),' TICKERS, VOL= ',FORMAT(V_TOTL,'%4.1f%%')
  442. ,'  AVG G/L= ',FORMAT(CUML_G_L,'%4.2f%%'),'      5VOL= ',
  443. FORMAT(V5_TOTL,'%4.1f%%'),'  5 G/L= ',FORMAT(CUML5_G_L,'%4.2f%%'));
  444. WRITELN(FORMAT(ADV,'%3.f'),' ADV, ',FORMAT(A_PERC,'%2.f%%'),'  VOL=',
  445. FORMAT(AV_TOTL,'%5.1f%'),'  AVG-A=',FORMAT(AVG_ADV_PERC,'%2.2f%')
  446. ,'  5ADV=',FORMAT(A5_PERC,'%2.f%'),'  5AVOL=',FORMAT(AV5_TOTL,'%5.1f%')
  447. ,'  AVG5-A=',FORMAT(AVG5_ADV_PERC,'%2.2f%'));
  448. WRITELN(FORMAT(DEC,'%3.f'),' DEC, ',FORMAT(D_PERC,'%2.f%%'),'  VOL=',
  449. FORMAT(DV_TOTL,'%5.1f%'),'  AVG-D=',FORMAT(AVG_DEC_PERC,'%2.2f%')
  450.  ,'  5DEC=',FORMAT(D5_PERC,'%2.f%'),'  5DVOL=',FORMAT(DV5_TOTL,'%5.1f%')
  451. ,'  AVG5-D=',FORMAT(AVG5_DEC_PERC,'%2.2f%'));
  452. WRITELN(FORMAT(UCH,'%3.f'),' UCH, ',FORMAT(U_PERC,'%2.f%%'),'  VOL=',
  453. FORMAT(UV_TOTL,'%5.1f%'),'               5UCH=',FORMAT(U5_PERC,'%2.f%')
  454. ,'  5UVOL=',FORMAT(UV5_TOTL,'%5.1f%'));
  455. WRITELN(
  456. '  %OH    #   TODAY      1 AGO      2 AGO      3 AGO      4 AGO     10 AGO'
  457. );
  458. WRITELN('   NH=',FORMAT(NH0_TALLY,'%4.0f'),'   ',FORMAT(P0NH,'%4.1f%%'),
  459. FORMAT(NNH01,'%4.0f'),'  ',FORMAT(P1NH,'%4.1f%%'),
  460. FORMAT(NNH12,'%4.0f'),'  ',FORMAT(P2NH,'%4.1f%%'),
  461. FORMAT(NNH23,'%4.0f'),'  ',FORMAT(P3NH,'%4.1f%%'),
  462. FORMAT(NNH34,'%4.0f'),'  ',FORMAT(P4NH,'%4.1f%%'),
  463. FORMAT(NNH410,'%4.0f'),'  ',FORMAT(P10NH,'%4.1f%%'));
  464. WRITELN('  0-5=',FORMAT(OH0_05_TALLY,'%4.0f'),'   ',FORMAT(P005,'%4.1f%%'),
  465. FORMAT(N05_01,'%4.0f'),'  ',FORMAT(P105,'%4.1f%%'),
  466. FORMAT(N05_12,'%4.0f'),'  ',FORMAT(P205,'%4.1f%%'),
  467. FORMAT(N05_23,'%4.0f'),'  ',FORMAT(P305,'%4.1f%%'),
  468. FORMAT(N05_34,'%4.0f'),'  ',FORMAT(P405,'%4.1f%%'),
  469. FORMAT(N05_410,'%4.0f'),'  ',FORMAT(P1005,'%4.1f%%'));
  470. WRITELN(' 5-10=',FORMAT(OH0_510_TALLY,'%4.0f'),'   ',FORMAT(P0510,'%4.1f%%')
  471. ,
  472. FORMAT(N510_01,'%4.0f'),'  ',FORMAT(P1510,'%4.1f%%'),
  473. FORMAT(N510_12,'%4.0f'),'  ',FORMAT(P2510,'%4.1f%%'),
  474. FORMAT(N510_23,'%4.0f'),'  ',FORMAT(P3510,'%4.1f%%'),
  475. FORMAT(N510_34,'%4.0f'),'  ',FORMAT(P4510,'%4.1f%%'),
  476. FORMAT(N510_410,'%4.0f'),'  ',FORMAT(P10510,'%4.1f%%'));
  477. WRITELN
  478. ('10-15=',FORMAT(OH0_1015_TALLY,'%4.0f'),'   ',FORMAT(P01015,'%4.1f%%'),
  479. FORMAT(N1015_01,'%4.0f'),'  ',FORMAT(P11015,'%4.1f%%'),
  480. FORMAT(N1015_12,'%4.0f'),'  ',FORMAT(P21015,'%4.1f%%'),
  481. FORMAT(N1015_23,'%4.0f'),'  ',FORMAT(P31015,'%4.1f%%'),
  482. FORMAT(N1015_34,'%4.0f'),'  ',FORMAT(P41015,'%4.1f%%'),
  483. FORMAT(N1015_410,'%4.0f'),'  ',FORMAT(P101015,'%4.1f%%'));
  484. WRITELN
  485. ('15-20=',FORMAT(OH0_1520_TALLY,'%4.0f'),'   ',FORMAT(P01520,'%4.1f%%'),
  486. FORMAT(N1520_01,'%4.0f'),'  ',FORMAT(P11520,'%4.1f%%'),
  487. FORMAT(N1520_12,'%4.0f'),'  ',FORMAT(P21520,'%4.1f%%'),
  488. FORMAT(N1520_23,'%4.0f'),'  ',FORMAT(P31520,'%4.1f%%'),
  489. FORMAT(N1520_34,'%4.0f'),'  ',FORMAT(P41520,'%4.1f%%'),
  490. FORMAT(N1520_410,'%4.0f'),'  ',FORMAT(P101520,'%4.1f%%'));
  491. WRITELN
  492. ('20-25=',FORMAT(OH0_2025_TALLY,'%4.0f'),'   ',FORMAT(P02025,'%4.1f%%'),
  493. FORMAT(N2025_01,'%4.0f'),'  ',FORMAT(P12025,'%4.1f%%'),
  494. FORMAT(N2025_12,'%4.0f'),'  ',FORMAT(P22025,'%4.1f%%'),
  495. FORMAT(N2025_23,'%4.0f'),'  ',FORMAT(P32025,'%4.1f%%'),
  496. FORMAT(N2025_34,'%4.0f'),'  ',FORMAT(P42025,'%4.1f%%'),
  497. FORMAT(N2025_410,'%4.0f'),'  ',FORMAT(P102025,'%4.1f%%'));
  498. WRITELN
  499. ('25-30=',FORMAT(OH0_2530_TALLY,'%4.0f'),'   ',FORMAT(P02530,'%4.1f%%'),
  500. FORMAT(N2530_01,'%4.0f'),'  ',FORMAT(P12530,'%4.1f%%'),
  501. FORMAT(N2530_12,'%4.0f'),'  ',FORMAT(P22530,'%4.1f%%'),
  502. FORMAT(N2530_23,'%4.0f'),'  ',FORMAT(P32530,'%4.1f%%'),
  503. FORMAT(N2530_34,'%4.0f'),'  ',FORMAT(P42530,'%4.1f%%'),
  504. FORMAT(N2530_410,'%4.0f'),'  ',FORMAT(P102530,'%4.1f%%'));
  505. WRITELN
  506. ('30-35=',FORMAT(OH0_3035_TALLY,'%4.0f'),'   ',FORMAT(P03035,'%4.1f%%'),
  507. FORMAT(N3035_01,'%4.0f'),'  ',FORMAT(P13035,'%4.1f%%'),
  508. FORMAT(N3035_12,'%4.0f'),'  ',FORMAT(P23035,'%4.1f%%'),
  509. FORMAT(N3035_23,'%4.0f'),'  ',FORMAT(P33035,'%4.1f%%'),
  510. FORMAT(N3035_34,'%4.0f'),'  ',FORMAT(P43035,'%4.1f%%'),
  511. FORMAT(N3035_410,'%4.0f'),'  ',FORMAT(P103035,'%4.1f%%'));
  512. WRITELN
  513. ('35-40=',FORMAT(OH0_3540_TALLY,'%4.0f'),'   ',FORMAT(P03540,'%4.1f%%'),
  514. FORMAT(N3540_01,'%4.0f'),'  ',FORMAT(P13540,'%4.1f%%'),
  515. FORMAT(N3540_12,'%4.0f'),'  ',FORMAT(P23540,'%4.1f%%'),
  516. FORMAT(N3540_23,'%4.0f'),'  ',FORMAT(P33540,'%4.1f%%'),
  517. FORMAT(N3540_34,'%4.0f'),'  ',FORMAT(P43540,'%4.1f%%'),
  518. FORMAT(N3540_410,'%4.0f'),'  ',FORMAT(P103540,'%4.1f%%'));
  519. WRITELN
  520. ('40-45=',FORMAT(OH0_4045_TALLY,'%4.0f'),'   ',FORMAT(P04045,'%4.1f%%'),
  521. FORMAT(N4045_01,'%4.0f'),'  ',FORMAT(P14045,'%4.1f%%'),
  522. FORMAT(N4045_12,'%4.0f'),'  ',FORMAT(P24045,'%4.1f%%'),
  523. FORMAT(N4045_23,'%4.0f'),'  ',FORMAT(P34045,'%4.1f%%'),
  524. FORMAT(N4045_34,'%4.0f'),'  ',FORMAT(P44045,'%4.1f%%'),
  525. FORMAT(N4045_410,'%4.0f'),'  ',FORMAT(P104045,'%4.1f%%'));
  526. WRITELN
  527. ('45-50=',FORMAT(OH0_4550_TALLY,'%4.0f'),'   ',FORMAT(P04550,'%4.1f%%'),
  528. FORMAT(N4550_01,'%4.0f'),'  ',FORMAT(P14550,'%4.1f%%'),
  529. FORMAT(N4550_12,'%4.0f'),'  ',FORMAT(P24550,'%4.1f%%'),
  530. FORMAT(N4550_23,'%4.0f'),'  ',FORMAT(P34550,'%4.1f%%'),
  531. FORMAT(N4550_34,'%4.0f'),'  ',FORMAT(P44550,'%4.1f%%'),
  532. FORMAT(N4550_410,'%4.0f'),'  ',FORMAT(P104550,'%4.1f%%'));
  533. WRITELN
  534. (' > 50=',FORMAT(OH0_50_TALLY,'%4.0f'),'   ',FORMAT(P050,'%4.1f%%'),
  535. FORMAT(N50_01,'%4.0f'),'  ',FORMAT(P150,'%4.1f%%'),
  536. FORMAT(N50_12,'%4.0f'),'  ',FORMAT(P250,'%4.1f%%'),
  537. FORMAT(N50_23,'%4.0f'),'  ',FORMAT(P350,'%4.1f%%'),
  538. FORMAT(N50_34,'%4.0f'),'  ',FORMAT(P450,'%4.1f%%'),
  539. FORMAT(N50_410,'%4.0f'),'  ',FORMAT(P1050,'%4.1f%%'));
  540. RETURN;
  541.